package com.itheima.suanfa;

import java.sql.Array;
import java.util.Arrays;

public class KuaiPaiDemo {


    public static void main(String[] args) {
        int[] arr={6, 1, 2, 7, 9, 3, 4, 5, 10, 8};
       /* kuaipai(arr,0,arr.length-1);
        System.out.println(Arrays.toString(arr));*/
       Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }


    //快排方法
    public static void kuaipai(int[] arr,int  left ,int right) {
        if(left>=right){
            return;
        }
        //找一个基准数
        //定义两个索引  一个从头 一个从尾
        int ji = arr[left];
        int start = left;
        int end = right;
        while (start!=end) {
            // 2先从右边找比基准数小的
            while (arr[end] >= ji&&start<end) {
                end--;
            }
            //3从左边找 比基准数 大的
            while (arr[start]<=ji&&start<end){
                start++;
            }

            //4小的和 大的交换
            int temp =arr[start];
            arr[start]=arr[end];
            arr[end]=temp;

        } //重复234 start==end
        //左=右  基准数归位
        int temp=arr[left];
        arr[left]=arr[start];
        arr[start]=temp;

        //把左边的小数组继续干
        kuaipai(arr,left,start-1);
        //把右边的小数组继续干
        kuaipai(arr,start+1,right);



    }
}
